##    This file is part of The Most Awesome Story Ever
##
##    Foobar is free software: you can redistribute it and/or modify
##    it under the terms of the GNU General Public License as published by
##    the Free Software Foundation, either version 3 of the License, or
##    (at your option) any later version.
##
##    Foobar is distributed in the hope that it will be useful,
##    but WITHOUT ANY WARRANTY; without even the implied warranty of
##    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##    GNU General Public License for more details.
##
##    You should have received a copy of the GNU General Public License
##    along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
##    
##    Copyright 2008, Ryan Michela

import wsgiref.handlers
import pagemodel
import os

from google.appengine.ext import webapp
from google.appengine.ext import db
from google.appengine.ext.webapp import template


class EndpointHandler(webapp.RequestHandler):
  """This class creates a list of all pages in the Pages database that have
  no child options -- that is, all leaves in the story tree.""" 

  def get(self):
    """Handle a HTTP GET verb and write the endpoints page to the output."""
    #querry for all pages
    pages = db.GqlQuery('SELECT * FROM Page')
    
    #insert all pages with no options into a list
    endpointPages = {}
    for page in pages:
        if(page.getOptionCount() == 0 and page.title != None):
            endpointPages[page.title] = page.pageNum
    
    template_values = {"endpointPages" : endpointPages}    
    
    path = os.path.join(os.path.dirname(__file__), 'templates/endpoints.html')
    self.response.out.write(template.render(path, template_values))
    

def main():
  application = webapp.WSGIApplication([('/unfinishedendings.html', 
                                    EndpointHandler)], debug=True)
  wsgiref.handlers.CGIHandler().run(application)


if __name__ == '__main__':
  main()